package com.qwz.example;

import com.qwz.example.itreator.Iterator;
import com.qwz.example.itreator.impl.PayManager;
import com.qwz.example.itreator.impl.SalaryManager;

public class Client {

    public static void main(String[] args) {
        //访问集团的工资列表
        PayManager payManager = new PayManager();
        //先计算再获取
        payManager.calcPay();
        System.out.println("集团工资列表");

        show(payManager.createIterator());

        //访问新收购公司的工资列表
        SalaryManager salaryManager = new SalaryManager();
        //先计算再获取
        salaryManager.calcSalary();
        System.out.println("新收购公司的工资列表");
        show(salaryManager.createIterator());
    }

    /**
     * 测试通过访问聚合对象的迭代器，是否能正常访问聚合对象
     * @param iterator
     */
    private static void show(Iterator iterator) {
        iterator.first();
        while (!iterator.isDone()){
            Object o = iterator.currentItem();
            System.out.println("输出=>"+o);
            iterator.next();
        }
    }
}
